TSpinDateEdit  and  TDBSpinDateEdit
Version 1.5d
   
(c) copyright 1997 by W.Braun. All rights reserved. 

Borland Delphi 1-3 und C++ Builder VCL-Komponenten



   

Liebe Entwickler und Anwender ,

mit diesen Komponenten knnen Sie alle Datumsein-/ausgabefelder in Ihrer
Applikation abdecken und erreichen so ein  einheitlich formatiertes 
Erscheinungsbild Ihrer Anwendung.

Die Komponente untersttzt internationale und Benutzer  
Einstelllungen der Windowssystem Datumsparameter. 

Die manuelle Eingabe des Datums ist sehr ausgefeilt und fngt automatisch
alle Falscheingaben ab.
Bei Bedarf knnen Sie einen Kalender hinzufgen, der dann einfach per 
Doppelklick oder durch Klick auf das Symbol angezeigt wird. 
Zustzlich besitzen diese Komponenten die Mglichkeit mit +/- oder bei
eingeschaltetem Spinsymbol per Klick auf das jeweilige Symbol das Datum
um eine freidefinierbare Anzahl der Tage zu erhhen/vermindern.

Ich hoffe diese Komponenten helfen euch bei der Arbeit und machen diese
etwas leichter.


Inhalt

  
   1. Installation
   2. Eigenschaften
   3. Funktiosbeschreibung
   4. Registrierung
   5. Neu 
   6. Glossar	 
   7. WARRANTY
   8. Shareware
   9. Order Form

>>1. Installation 

I. Delphi 1-2
   Bitte benutzen Sie fr die 16-Bit Version die Datei "DATE_16.ZIP" und 
   fr die 32-Bit Version die Datei "DATE_32.ZIP".

   1. Kopieren Sie bitte die Dateien DATEED.DCU,DATEED.DFM,DATEED.DCR und
      DATEED.RES in ein beliebiges von Ihnen
      bevorzugtes Verzeichniss, z.B. C:\DELPHI\Z_COMP
   2. Whlen Sie im Delphi-Men Optionen | Komponenten installieren
   3. Klicken Sie auf Hinzufgen
   4. Geben Sie jetzt das Verzeichniss und DATEED.DCU ein, 
      z.B. C:\DELPHI\Z_COMP\DATEED.DCU 
   5. Klicken Sie jetzt OK
   6. Nochmal OK
   

II. Delphi 3
   Bitte benutzen Sie die Datei "DATE32_3.ZIP"
   1. Kopieren Sie bitte die Dateien DATEED.DCU,DATEED.DFM,DATEED.DCR und
      DATEED.RES in ein beliebiges von Ihnen
      bevorzugtes Verzeichniss, z.B. C:\DELPHI\Z_COMP
   2. Whlen Sie im Delphi-Men Komponenten | Komponenten installieren
   3. Whlen sie ihre bevorzugte package ( default dclusr30dpk) und
      klicken Sie auf Hinzufgen
   4. Geben Sie jetzt das Verzeichniss und DATEED.DCU ein, 
      z.B. C:\DELPHI\Z_COMP\DATEED.DCU 
   5. Klicken Sie jetzt Compilieren 
   6. Folgen Sie den Anweiseungen bis zur Meldung, da 
      TSpinDateEdit unf TDBSpinDateEdit registriert sind, erscheint
   7. Speichern Sie das package ab. 

I. C++ Builder
   Bitte benutzen Sie die Datei "DATE_CB.ZIP".

   1. Kopieren Sie bitte die Dateien DATEED.OBJ, DATEED.HPP, DATEED.DFM,
      DATEED.DCR und DATEED.RES in ein beliebiges von Ihnen
      bevorzugtes Verzeichniss, z.B. C:\CBUILDER\Z_COMP
   2. Whlen Sie im Men Optionen | Komponenten installieren
   3. Klicken Sie auf Hinzufgen
   4. Geben Sie jetzt das Verzeichniss und DATEED.DCU ein, 
      z.B. C:\CBUILDER\Z_COMP\DATEED.OBJ 
   5. Klicken Sie jetzt OK
   6. Nochmal OK

Nach kompilierung der VCL durch Delphi erscheint jetzt in Ihrer 
Komponentenleiste eine zustzliche Leiste 'WB', hier finden Sie
die neuen Komponenten.

Jetzt mssen Sie nur noch diese Komponenten anklicken und danach auf 
Ihr Formular an der gewnschten Position setzen.

>>2. Eigenschaften ( Properties)

Folgende Eigenschaften gelten fr beide Komponenten

TSpinDateEdit, TDBSpinDateEdit


Properties :
      property ActiveColor  : TColor, color if focused, default clWindow
      property Alignment: default taLeftJustify;
      property Autosize;  
      property +CalendarProperties, Calendarpopup properties :
                Enabled     : boolean, Calendarbutton/Calendarpopup 
                              on/off , default on
                AutoStart   : boolean, pops the calendar OnEnter,
			      default False 
                Color       : TColor, Calendarpopup color, default clBackground
                HelpContext : THelpContext, HelpContext for Calendarpopup
                Position    : Position of Calendarform, default posAbove
                              [posAbove,posBelow,posLeft,posRight,posOnTop]
		SaturdayColor : TColor               
		StartOfWeek : day of week the calendargrid starts on
                              default daySU  
                	      [daySu,dayMo,dayTu,dayWe,dayTh,dayFr,daySa] 
		SundayColor : TColor;      
                WeekEndSelectable : boolean, WeekEnd ( Sunday/Saturday ) can be
		     		    selected in Calendar or not, default True
                WeekOfYear  : boolean, calendarweek of year on/off
                WeekOfYearColor : TColor, color for calendarweek, default clBlack;
      
      property Century : boolean, Century on/off default True
      property Color;
      property Ctl3D;
      property DateValue : string, Date in ShortDateFormat 
      property DragCursor;
      property DragMode;
      property Enabled;
      property Font ;
      property IncrementDate: Increment for Spin or +/-, default iOneDay
               [iOneDay, iTwoDays, iThreeDays, iOneWeek, iTwoWeek,
                iOneMonth,iQuarterYear,iHalfYear,iOneYear]                          
      property Info : InfoMessageBox about this component
      property ParentCtl3D;
      property ParentFont;
      property ParentShowHint;
      property PopupMenu;
      property ReadOnly;
      property ShowHint;
      property Spin :  boolean, Spinbuttons on/off, default off
      property TabOrder;
      property TabStop;
      property Value: TDateTime, Date in TDateEditFormat
      property Visible;
      property OnBeforeChange;
      property OnChange;
      property OnClick;
      property OnDblClick;
      property OnDragDrop;
      property OnDragOver;
      property OnEndDrag;
      property OnEnter;
      property OnExit;
      property OnKeyDown;
      property OnKeyPress;
      property OnKeyUp;
      property OnMouseDown;
      property OnMouseMove;
      property OnMouseUp;
      property OnStartDrag; ( only 32 Bit )  		

Additional  the TDBSpinDateEdit have follows properties

DataField	DateField , Datatype ftDate, ftDateTime
DataSource	DataSource for Table or Query
     	

>>3. Beschreibung

TSpinDateEdit dient der Vereinfachung der Eingaben von Datum. 
Die standardmig mitgelieferten Werkzeuge von Borland sind nur sehr 
eingeschrnk zu gebrauchen ( s. TMaskEdit,TDBEdit).

Die Eingabe des Datums erfolgt im ShortDateFormat ( z.B. 10.01.1997 ), 
wobei die Datumstrennungszeichen automatisch bersprungen  werden. 
Der Anwender kann das Datum auf folgende Arten verndern :
 1. Durch manuelle Eingabe von Datumszahlen. Die Komponente fngt automatisch
    alle Falscheingaben ( wie 13 Monat , 31.11 , 29.2.97, usw )  ab. 
 2. Mit +/- oder dem jeweiligen Symbol ( Up/Down)  des SpinButtons kann 
    das Datum um die vom Entwickler festgelegte Anzahl der Tage 
    erhht/vermindert werden.
 3. Mit dem Klick auf Kalenderbutton oder mit dem DoppelKlick auf das 
    Editierfeld kann ein eingebauter Kalender aufgerufen werden und dort 
    das gewnschte Datum ausgewhlt werden.

Der Entwickler setzt das gewnschte Datum ber die zwei Eigenschaften : 
 1. DateValue : Hier kann das Datum wie ein normaler Text im ShortDateFormat 
    eingetragen werden.
    Die Eigenschaft Value wird automatisch gesetzt. 
    Bei Falscheingabe erscheint eine Fehlermeldung.
    Diese Eigenschaft ist zum Setzen des Datums in der Entwicklungsumgebung
    gedacht.
    Whrend der Programmausfhrung sollte besser die Value-Eigenschaft benutzt
    werden, da bei Strings mit falschem Datum eine Fehlermeldung angezeigt wird
    (wenn die Exception nicht von Ihnen abgefangen wird).
    Wenn diese Fehlermeldungen Sie genauso stren wie mich ( in fast allen 
    Programmen mit Datumseingabe gehrt diese vermutlich zur hufigsten 
    Fehlermeldung berhaupt ) benutzen Sie besser die Value-Eigenschaft,
    da diese mit Delphidatumsfunktionen direkt arbeitet ( z.B. Now) und so die 
    Umwandlung von Strings zu Datum nicht mehr notwendig ist.
    Benutzen Sie DateValue in Ihren Programmen als die Stringausgabe des Datum 
    (z.B. Label1.Caption:=SpinDateEdit1.DateValue) und Value als Schnittstelle
    zu Delphidatumsfunktionen (z.B. SinDateEdit1.Value:=Now). 
 2. Value : ist vom Typ TDateTime und stellt das Datum als eine Zahl 
    vom Typ double dar.
    Die Eigenschaft DateValue wird automatisch gesetzt. 
    Diese Eigenschaft kann direkt mit den Datumssystemroutinen gesetzt 
    bzw. von ihnen gelesen werden( z.B. Now, DateToStr,usw. ). 
    Sie knnen Value auch in der Entwicklungsumgebung setzen, beachten Sie 
    aber bitte das unter Delphi 2.x Value:=0 das Datum 12/30/1899 bedeutet.  
	
    Da der dezimale Bereich von Delphi fr den Zeitanteil benutzt wird, 
    kann man den hier vernachlssigen. Sie knnen den aber selbstverstndlich
    auch mitfhren und verwenden.
     
    Die Grenze von Value ist so festgelegt : 
    const      
    {$IFDEF WIN32}      
    DateDelphi   =-657434; { Date=01/01/0100 Min} 
    DateDelphiMax=2958465; { Date=12/31/9999}
    {$ELSE}
    DateDelphi   =1;       { Date=01/01/0001 Min} 
    DateDelphiMax=3652059; { Date=12/31/9999}
    {$ENDIF}
    Die Grenzen sind von den Delphientwickler so festgelegt worden 
    ( Datumskonventionen von Delphi ), auer die DateDelphi-Konstante 
    fer Delphi 2.x wurde von mir auf das Jahr 100 erhht, da die 
    Datumssystemroutinen mit kleineren Werten nicht korrekt arbeiten.
         
Die Eigenschaft Century  bestimmt ob die Jahrhunderte, unabhnig von der
Systemeinstellung, angezeigt/bearbeitet werden knnen. Dadurch knnen die 
Masken unabhngig von den individuellen Windowssystemeinstellungen des 
Anwenders gestaltet werden. Der Fehler der Datumssystemroutinen bei 
zweistelliger Jahresangabe automatisch das aktuelle Jahrhundert 
hinzuzufgen wird abgefangen (s.a. DateValue).

Increment ist die Anzahl der Tage um die das Datum vom Anwender durch Drcken
von +/- oder bei eingeschaltenem Spin durch Klicken auf das Up/Down-Symbol
erhhen/vermindern kann.

Die Eigenschaft Spin macht dem Anwender die Incrementfhigkeit sichtbar.
Die Funktion ist die gleiche wie bei +/-.

Benutzen Sie das OnBeforeChange-Ereignis um irgendwelche speziellen 
Aufgaben zu erledigen befor DateValue ein neuer Wert zugewiesen
wird.  

Calendar ist eine nichtmodale Form mit einer Kalendertabelle. 

CalendarProperties :

 -Enabled     : bestimmt ob der Kalender verfgbar ist.
  Bei True erscheint das Symbol, der Anwender kann duch das Anklicken
  des Symbols oder durch Doppelklick auf das Editierfeld den Kalender
  aufrufen.
 -AutoStart   : startet den Kalender bei OnEnter
 -Color       : Farbe des Calenderfensters 
 -Helpcontext : Helpcontext fr Calendarfenster
 -Position    : Position des Calendarfensters auf dem Bildschrirm 
		zum Eingabefeld  
 -SaturdayColor : Farbe der Samstage im Kalender
 -StartOfWeek : Erster Tag im Kalendergitter
 -SundayColor : Farbe der Sonntage im Kalender
 -WeekEndSelectable : ermglicht eine Sperre der Wochenendtageauswahl
		im Kalender
 -WeekOfYear  : Kalenderwoche im Calendar
 -WeekOfYearColor : Farbe fr Kalenderwoche

Beschreibung des Kalenderfensters:

-Kalendergitter
- Anzeige des aktuell Monats und Jahres. Durch Doppelclick automatischer
  Sprung zum aktuellen Datum
- Buttons fr Monat vor/zurck
- Buttons fr Jahr  vor/zurck
- Tabulator/Shift-Tabulator bedeuten Monat vor/zurck
- +/- haben die gleiche Funktion wie beim Eingabefeld
- Fehlerbeseitigung bei Datumsgrenzberschreitungen

Calendar wird als NichtModal-Form aufgerufen und wird geschlossen durch:
-drcken der Return-Taste, Datum wird in das Eingabefeld bernommen
-Doppelclick auf den ausgewhlten Tag im Kalender, Datum wird in das 
 Eingabefeld bernommen  
-durch Drcken der ESCAPE-Taste oder durch Anklicken auerhalb des
 Kalendars, Ergebnis wird nicht bernommen.



Die zustzlichen Eigenschaften der TDBSpinDateEdit-Komponenten dienen der 
direkten Datenbankanbindung und knnen zur Anzeige bzw. Manipulation der 
Daten der verbundenen Felder einer Tabelle oder Anfrage benutzt werden. 

Andere Eigenschaften sind ohne nderungen aus der TCustomerEdit-Klasse 
bernommen worden.

>>4. Registrierung

Die Demo-Version beinhaltet alle Funktionen der Vollversion, 
kann aber seit dieser Version nur unter der Borland Entwicklungsumgebung
eingesetzt werden.  


Der Preis fr diese Komponenten ist 
 - $15.00 (US) ohne SourceCode 
 - $30.00 (US) mit SourceCode ( >2500 Zeilen). 

Hinweis : Fr C++ Builder Registrierung bitte nur mit Source-Code !!!

Bestellen knnen Sie wie folgt :

1. CompuServe's Online Registration :  GO SWREG
   
   
   TSpinDateEdit : -File-ID 14245  without Source
                   -File-ID 14900  with    Source
   TGermDateEdit : -File-ID 15615  without Source
                   -File-ID 15616  with    Source
      Update from TSpinDateEdit : 
                   -File-ID 15617 without Source
      Update from TSpinDateEdit : 
                   -File-ID 15618 with    Source
   TSpinDblEdit :  -File-ID 12832  without Source
                   -File-ID 14901  with    Source   



2. Order by sending me an e-Mail.
3. Fill out and send the order form "order.txt" 

Wenn es keine Mglichkeit gibt die registrierte Version auf elektronischem 
Wege zu verschicken, addieren Sie bitte 2.00$ fr den Versand innerhalb und
3.00$ fr den Versand auerhalb Deutschlands hinzu.

Registrierte Benutzer bekommen von mir einige Updates im Laufe eines 
Kalenderjahres. 
Zustzlich ist in der registrierten Version die in 
TSpinDateEdit integrierter Kalender als eigenstndige Komponente 
enthalten.




>>5. Neu

Version 1.5e ( 08/08/1997)

-Key Alt+Down/Up opens the calculator (like ComboBox)
 suggestion from Thomas Grusche, 100027.231@compuserve.com
-Property ActiveColor 
 suggestion from G.Schmitthenner, Calcul-Schmitthenner@t-online.de 
-Bugfix for Ctl3D = False
-BugFix for SelectALL and press Del OnChange Event
-inherited properties like BorderStyle now published into Delphi 2+3 too.


Version 1.5d

- Eventhandler
  OnBeforeChange  Before Value becomes the new value  
  OnCalClick      Calculator button click
  OnCalOpen	  Calculator open
  OnCalClose      Calculator close
  OnSpinDownClick Down button click
  OnSpinUpClick   Up button Click 

- Calendarproperties and CalWB
  Property WeekEndSelectable True,False


Version 1.5c
-Clear now working correctly
-Day and Month display now allways with 2 Digits e.g. 01/01/1997
 independent of WIN.INI

Version 1.5b

- Delphi 3 support
- bugs (e.g. 32 Bit design modus by WMPaint-Message, ...)

Version 1.5a

- DBSpinDateEdit can be used now without DataSource too
- Calculatedfields working exactly as original TDBEdit


Version 1.5

- DbCtrlGrid Support ( Delphi 32 )
- Calendar : SundayColor, SaturdayColor properties

Version 1.4

-Calendar AutoStart : Enter with VK_TAB now fixed with Timer
		      ( no jump month before open Calendar) 	
-AutoSelect
-ParentColor

New in Version 1.3 :

Thanks to Markus Schwaiger for suggestion of calendarweek

     -DateedC Unit not necessary

     -Calendarproperties
        property Enabled
        property AutoStart
        property Color                  New in 1.3
        property HelpContext
        property Position
        property StartOfWeek
        property WeekOfYear             New in 1.3
        property WeekOfYearColor        New in 1.3

      not available : property Calendar          New CalendarProperties.Enabled
                      property AutoCalendar      New CalendarProperties.AutoStart
                      property CalHelpContext    New CalendarProperties.HelpContext
                      property CalPosition       New CalendarProperties.Position
                      property CalStartOfWeek    New CalendarProperties.StartOfWeek

                      property Increment         New IncrementDate
     Bug fixed : 
       -AutoCalendar not jumps to the next month into calendargrid 
       -DB OnEnter,OnExit not longer change Datalink.State to modified
        without Edit.Change
       -SpinDateEdit.Height the same like TEdit.Height 


New in version 1.2 :

- much better controls of Spacebar
- bug fixes  


New in version 1.1:

(thanks to Richard Haven for his suggestion)

- Increment property not longer supported, please use IncrementDate
- IncrementDate enumeration property 
  (iOneDay, iTwoDays, iThreeDays, iOneWeek, iTwoWeek, iOneMonth,
  iQuarterYear,iHalfYear,iOneYear)
- AutoCalendar, pops the calendar OnEnter
- CalStartOfWeek, day of the week the calendar starts on
  (daySu,dayMo,dayTu,dayWe,dayTh,dayFr,daySa) 
- Space bar allow quick enter current date ( or part of date)
  Puts in the actual and follows parts (cursorposition) of datevalue the 
  respective part of current date.
  (e.g. datemask is mm/dd/yy. If cursor on month part spacebar
   fill mm/dd/yy with current date, if cursor on day part spacebar
   fill dd/yy, if ...)


- Clear now working correctly
- VK_DELETE,VK_BACK,WM_Cut,WM_Past now working correctly if
  the complete text selected




>>6. Glossar

Ich hoffe, Sie kommen mit dieser Beschreibung zurecht.
Wenn Sie Fragen oder Anregungen haben schicken Sie mir ein paar Zeilen 
per eMail.
Ich bin fr jeden guten Vorschlag dankbar.

MfG 

Ihr Wilhelm Braun


eMail : Willi_Braun@compuserve.com

>>7. WARRANTY


THIS SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" AND WITHOUT 
WARRANTIES AS TO PERFORMANCE OR MERCHANTABILITY.

THESE COMPONENTS ARE PROVIDED WITHOUT ANY EXPRESS OR IMPLIED 
WARRANTIES WHATSOEVER. BECAUSE OF THE DIVERSITY OF 
CONDITIONS AND HARDWARE UNDER WHICH THESE COMPONENTS MAY BE 
USED, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS 
OFFERED. THE USER IS ADVISED TO TEST THESE COMPONENTS THOROUGHLY 
BEFORE RELYING ON THEM. THE USER MUST ASSUME THE ENTIRE RISK 
OF USING THESE COMPONENTS. 

>>8

THESE COMPONENTS ARE SHAREWARE. 
You may use the shareware version of these components for a 30 day
trial period. If you would like to continue to use these components
after the 30 day trial period, you are required to purchase the
licensed version of these components.

>>9. Order/Register form, use only for registration without 
     Compuserve Shareware Register Forum ( GO SWREG )



   ORDER FORM
   

   TSpinDblEdit/TDBSpinDblEdit    
   TSpinDateEdit/TDBSpinDateEdit 
   TGermDateEdit/TDBGermDateEdit


   Name:   _______________________

   Address:_______________________

           _______________________

           _______________________

           _______________________




   Product: Delphi 1-3, C++ Builder

   ____  TSpinDblEdit\TDBSpinDblEdit             $15 US
   ____  TSpinDblEdit\TDBSpinDblEdit   Source    $30 US
   ____  TSpinDateEdit\TDBSpinDateEdit           $15 US
   ____  TSpinDateEdit\TDBSpinDateEdit Source    $30 US
   ____  TGermDateEdit\TDBGermDateEdit           $25 US
   ____  TGermDateEdit\TDBGermDateEdit Source    $40 US
   ____  TGermDateEdit\TDBGermDateEdit 
	 Update from TSpinDateEdit               $10 US
   ____  TGermDateEdit\TDBGermDateEdit Source 
       	 Update from TSpinDateEdit Source        $10 US



                 Check or money order only.
		 PLEASE MAKE PAYABLE TO "W. BRAUN".

   Shipping:

           ____  3.5" Floppy Disk ( Add $2 postage Germany, other $3) 

           ____  eMail : ____________________________


   Mail Address :
      W. Braun
      Softwareentwicklung und Vertrieb
      Bruehlstr. 40
      67069 Ludwigshafen
      Germany
      Fax : +49 0621 6296754
